package com.ruoyi.merchant.domain.dto;

import lombok.Data;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

/**
 * 修改商家个人信息请求DTO
 */
@Data
public class UpdateMerchantInfoRequest {

    /** 商家名称 */
    @Size(max = 100, message = "商家名称长度不能超过100字符")
    private String merchantName;

    /** 联系人 */
    @Size(max = 50, message = "联系人长度不能超过50字符")
    private String contactPerson;

    /** 联系电话 */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String contactPhone;

    /** 头像URL */
    @Size(max = 255, message = "头像URL长度不能超过255字符")
    private String avatarUrl;

    /** 地址 */
    @Size(max = 200, message = "地址长度不能超过200字符")
    private String address;

    /** 纬度 */
    @DecimalMin(value = "-90.0", message = "纬度范围为-90到90")
    @DecimalMax(value = "90.0", message = "纬度范围为-90到90")
    private BigDecimal latitude;

    /** 经度 */
    @DecimalMin(value = "-180.0", message = "经度范围为-180到180")
    @DecimalMax(value = "180.0", message = "经度范围为-180到180")
    private BigDecimal longitude;

    /** 仅当修改手机号时必填 */
    private String smsCode;

    /**
     * 检查是否所有字段都为空
     */
    public boolean isEmpty() {
        return merchantName == null
                && contactPerson == null
                && contactPhone == null
                && avatarUrl == null
                && address == null
                && latitude == null
                && longitude == null;
    }
}
